package com.quanyan.user.model.vo.response;

import com.quanyan.club.entity.RespClubMovement;
import com.quanyan.user.model.vo.DoyenActivity;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 动态对象
 * Created by Administrator on 2016/11/9.
 */
public class RespDynamicDetail implements Serializable {
    private static final long serialVersionUID = 3798980878833190299L;


    /**
     * 动态 id
     */
    private Integer id;

    /**
     * 用户id
     */
    private Integer uid;

    /**
     * 用户头像
     */
    private ImageObj userIcon;

    /**
     * 昵称
     */
    private String nickName;

    /**
     * 发布时间
     */
    private Date createTime;

    /**
     * 发布位置
     */
    private String reportAddress;

    /**
     * 点赞列表
     */
    private List<RespNewsPraise> praises;

    /**
     * 总点赞数
     */
    private Integer sumPraises;

    /**
     * 内容
     */
    private RespDynamicDetailText  respDynamicDetailText;

    /**
     * 评论列表
     */
    private List<RespDynamicComment> dynamicComments;

    /**
     * 总评论数
     */
    private Integer sumDynamicComments;


    /**
     * 动态类型: 0 app 1 达人 2 俱乐部
     */
    private Integer type;

    /**
     * 是否点赞 0：否，1：是
     */
    private int isPraise = 0;

    /**
     * 是否关注
     */
    private int isFollow = 0;

    /**
     * H5分享链接
     */
    private String shareUrl;

    /**
     * 态所属话题名称
     */
    private String topicName="";

    /**
     * 动态相关的图片
     */
    private List<ImageObj> images;

    /**
     * 精选动态  0 无 1 精选
     */
    private Integer choiceFlg = 0;

    /**
     * 精选时间
     */
    private Date choiceTime;
    /**
     *
     * 活动id
     */
    private Integer activityId;

    /**
     * 达人活动
     */
    private DoyenActivity doyenActivity;

    /**
     * 俱乐部id
     */
    private Integer clubId = 0;

    /**
     * 俱乐部活动
     */
    private RespClubMovement respClubMovement;

    /**
     * 动态视频
     */
    private RespVideo respVideo;

    /**
     * 话题
     */
    private Integer topicId;

    private Double lng;

    private Double lat;

    private Integer picOrVideo = 0;//图片动态或者是视频动态:0标示图片,1表示视频

    private Integer releaseType = 0; //手动发布



    public Integer getReleaseType() {
        return releaseType;
    }

    public void setReleaseType(Integer releaseType) {
        this.releaseType = releaseType;
    }

    public Integer getPicOrVideo() {
        return picOrVideo;
    }

    public void setPicOrVideo(Integer picOrVideo) {
        this.picOrVideo = picOrVideo;
    }

    public Double getLng() {
        return lng;
    }

    public void setLng(Double lng) {
        this.lng = lng;
    }

    public Double getLat() {
        return lat;
    }

    public void setLat(Double lat) {
        this.lat = lat;
    }

    public Integer getTopicId() {
        return topicId;
    }

    public void setTopicId(Integer topicId) {
        this.topicId = topicId;
    }

    public RespClubMovement getRespClubMovement() {
        return respClubMovement;
    }

    public void setRespClubMovement(RespClubMovement respClubMovement) {
        this.respClubMovement = respClubMovement;
    }

    public Integer getClubId() {
        return clubId;
    }

    public void setClubId(Integer clubId) {
        this.clubId = clubId;
    }

    public DoyenActivity getDoyenActivity() {
        return doyenActivity;
    }

    public void setDoyenActivity(DoyenActivity doyenActivity) {
        this.doyenActivity = doyenActivity;
    }

    public Integer getActivityId() {
        return activityId;
    }

    public void setActivityId(Integer activityId) {
        this.activityId = activityId;
    }

    public Integer getChoiceFlg() {
        return choiceFlg;
    }

    public void setChoiceFlg(Integer choiceFlg) {
        this.choiceFlg = choiceFlg;
    }

    public Date getChoiceTime() {
        return choiceTime;
    }

    public void setChoiceTime(Date choiceTime) {
        this.choiceTime = choiceTime;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getUid() {
        return uid;
    }

    public void setUid(Integer uid) {
        this.uid = uid;
    }

    public ImageObj getUserIcon() {
        return userIcon;
    }

    public void setUserIcon(ImageObj userIcon) {
        this.userIcon = userIcon;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getReportAddress() {
        return reportAddress;
    }

    public void setReportAddress(String reportAddress) {
        this.reportAddress = reportAddress;
    }


    public Integer getSumPraises() {
        return sumPraises;
    }

    public void setSumPraises(Integer sumPraises) {
        this.sumPraises = sumPraises;
    }

    public RespDynamicDetailText getRespDynamicDetailText() {
        return respDynamicDetailText;
    }

    public void setRespDynamicDetailText(RespDynamicDetailText respDynamicDetailText) {
        this.respDynamicDetailText = respDynamicDetailText;
    }


    public List<RespDynamicComment> getDynamicComments() {
        if (dynamicComments == null)
            dynamicComments = new ArrayList<>();
        return dynamicComments;
    }

    public void setDynamicComments(List<RespDynamicComment> dynamicComments) {
        this.dynamicComments = dynamicComments;
    }

    public Integer getSumDynamicComments() {
        return sumDynamicComments;
    }

    public void setSumDynamicComments(Integer sumDynamicComments) {
        this.sumDynamicComments = sumDynamicComments;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public int getIsPraise() {
        return isPraise;
    }

    public void setIsPraise(int isPraise) {
        this.isPraise = isPraise;
    }

    public int getIsFollow() {
        return isFollow;
    }

    public void setIsFollow(int isFollow) {
        this.isFollow = isFollow;
    }

    public String getShareUrl() {
        return shareUrl;
    }

    public void setShareUrl(String shareUrl) {
        this.shareUrl = shareUrl;
    }

    public String getTopicName() {
        return topicName;
    }

    public void setTopicName(String topicName) {
        this.topicName = topicName;
    }

    public List<ImageObj> getImages() {
        if (this.images == null)
            images = new ArrayList<>();
        return images;
    }

    public void setImages(List<ImageObj> images) {
        this.images = images;
    }

    public RespVideo getRespVideo() {
        return respVideo;
    }

    public void setRespVideo(RespVideo respVideo) {
        this.respVideo = respVideo;
    }

    //    public List<RespUserEntity> getPraises() {
//        if(this.praises == null)
//            praises = new ArrayList<>();
//        return praises;
//    }
//
//    public void setPraises(List<RespUserEntity> praises) {
//        this.praises = praises;
//    }


    public List<RespNewsPraise> getPraises() {
        if (praises == null)
            praises = new ArrayList<>();
        return praises;
    }

    public void setPraises(List<RespNewsPraise> praises) {
        this.praises = praises;
    }


    @Override
    public String toString() {
        return "RespDynamicDetail{" +
                "id=" + id +
                ", uid=" + uid +
                ", userIcon=" + userIcon +
                ", nickName='" + nickName + '\'' +
                ", createTime=" + createTime +
                ", reportAddress='" + reportAddress + '\'' +
                ", praises=" + praises +
                ", sumPraises=" + sumPraises +
                ", respDynamicDetailText=" + respDynamicDetailText +
                ", dynamicComments=" + dynamicComments +
                ", sumDynamicComments=" + sumDynamicComments +
                ", type=" + type +
                ", isPraise=" + isPraise +
                ", isFollow=" + isFollow +
                ", shareUrl='" + shareUrl + '\'' +
                ", topicName='" + topicName + '\'' +
                ", images=" + images +
                ", choiceFlg=" + choiceFlg +
                ", choiceTime=" + choiceTime +
                ", activityId=" + activityId +
                ", doyenActivity=" + doyenActivity +
                ", clubId=" + clubId +
                ", respClubMovement=" + respClubMovement +
                ", respVideo=" + respVideo +
                ", topicId=" + topicId +
                '}';
    }
}
